\hypertarget{class_compound_filter_3_01_value_00_01_value_01_4}{\section{Compound\-Filter$<$ Value, Value $>$ Class Template Reference}
\label{class_compound_filter_3_01_value_00_01_value_01_4}\index{Compound\-Filter$<$ Value, Value $>$@{Compound\-Filter$<$ Value, Value $>$}}
}


{\ttfamily \#include $<$Compound\-Filter.\-hpp$>$}

Inheritance diagram for Compound\-Filter$<$ Value, Value $>$\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{class_compound_filter_3_01_value_00_01_value_01_4}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual \hyperlink{class_compound_filter_3_01_value_00_01_value_01_4_adac786145da12147a8c1cd599ab4b41c}{$\sim$\-Compound\-Filter} ()
\item 
virtual Value \hyperlink{class_compound_filter_3_01_value_00_01_value_01_4_a5d7be9ce63109d38eeae3ff7ac947aed}{Apply} (const Value \&value)
\item 
void \hyperlink{class_compound_filter_3_01_value_00_01_value_01_4_a8ca85fc5643e43a5470d3ea84b290cd5}{Add\-Filter} (boost\-::shared\-\_\-ptr$<$ const \hyperlink{class_filter}{Filter}$<$ Value $>$ $>$ filter)
\item 
void \hyperlink{class_compound_filter_3_01_value_00_01_value_01_4_aa8fc9d40a19c2499e6d76d883d9b8d23}{Add\-Filter} (const \hyperlink{class_filter}{Filter}$<$ Value $>$ $\ast$filter, bool can\-Delete\-Filter=false)
\item 
{\footnotesize template$<$typename T\-Filter $>$ }\\void \hyperlink{class_compound_filter_3_01_value_00_01_value_01_4_a402e533d7835b706c05827806e789f1d}{Add\-Filter} (const T\-Filter \&filter)
\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$typename Value$>$class Compound\-Filter$<$ Value, Value $>$}

The \hyperlink{class_compound_filter}{Compound\-Filter} template class chains multiple Filters to act as a compounded filter.


\begin{DoxyTemplParams}{Template Parameters}
{\em Value} & The type of the input and output object. \\
\hline
\end{DoxyTemplParams}


\subsection{Constructor \& Destructor Documentation}
\hypertarget{class_compound_filter_3_01_value_00_01_value_01_4_adac786145da12147a8c1cd599ab4b41c}{\index{Compound\-Filter$<$ Value, Value $>$@{Compound\-Filter$<$ Value, Value $>$}!$\sim$\-Compound\-Filter@{$\sim$\-Compound\-Filter}}
\index{$\sim$\-Compound\-Filter@{$\sim$\-Compound\-Filter}!CompoundFilter< Value, Value >@{Compound\-Filter$<$ Value, Value $>$}}
\subsubsection[{$\sim$\-Compound\-Filter}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Value $>$ virtual {\bf Compound\-Filter}$<$ Value, Value $>$\-::$\sim${\bf Compound\-Filter} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{class_compound_filter_3_01_value_00_01_value_01_4_adac786145da12147a8c1cd599ab4b41c}
Destructor for \hyperlink{class_compound_filter}{Compound\-Filter}. 

\subsection{Member Function Documentation}
\hypertarget{class_compound_filter_3_01_value_00_01_value_01_4_a8ca85fc5643e43a5470d3ea84b290cd5}{\index{Compound\-Filter$<$ Value, Value $>$@{Compound\-Filter$<$ Value, Value $>$}!Add\-Filter@{Add\-Filter}}
\index{Add\-Filter@{Add\-Filter}!CompoundFilter< Value, Value >@{Compound\-Filter$<$ Value, Value $>$}}
\subsubsection[{Add\-Filter}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Value $>$ void {\bf Compound\-Filter}$<$ Value, Value $>$\-::Add\-Filter (
\begin{DoxyParamCaption}
\item[{boost\-::shared\-\_\-ptr$<$ const {\bf Filter}$<$ Value $>$ $>$}]{filter}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_compound_filter_3_01_value_00_01_value_01_4_a8ca85fc5643e43a5470d3ea84b290cd5}
Add a \hyperlink{class_filter}{Filter}.


\begin{DoxyParams}{Parameters}
{\em filter} & A shared pointer to the filter to be added. \\
\hline
\end{DoxyParams}
\hypertarget{class_compound_filter_3_01_value_00_01_value_01_4_aa8fc9d40a19c2499e6d76d883d9b8d23}{\index{Compound\-Filter$<$ Value, Value $>$@{Compound\-Filter$<$ Value, Value $>$}!Add\-Filter@{Add\-Filter}}
\index{Add\-Filter@{Add\-Filter}!CompoundFilter< Value, Value >@{Compound\-Filter$<$ Value, Value $>$}}
\subsubsection[{Add\-Filter}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Value $>$ void {\bf Compound\-Filter}$<$ Value, Value $>$\-::Add\-Filter (
\begin{DoxyParamCaption}
\item[{const {\bf Filter}$<$ Value $>$ $\ast$}]{filter, }
\item[{bool}]{can\-Delete\-Filter = {\ttfamily false}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_compound_filter_3_01_value_00_01_value_01_4_aa8fc9d40a19c2499e6d76d883d9b8d23}
Add a \hyperlink{class_filter}{Filter}.


\begin{DoxyParams}{Parameters}
{\em filter} & A pointer to the filter to be added. \\
\hline
{\em can\-Delete\-Filter} & If the \hyperlink{class_compound_filter}{Compound\-Filter} can delete the \hyperlink{class_filter}{Filter} so long as it functions correctly. \\
\hline
\end{DoxyParams}
\hypertarget{class_compound_filter_3_01_value_00_01_value_01_4_a402e533d7835b706c05827806e789f1d}{\index{Compound\-Filter$<$ Value, Value $>$@{Compound\-Filter$<$ Value, Value $>$}!Add\-Filter@{Add\-Filter}}
\index{Add\-Filter@{Add\-Filter}!CompoundFilter< Value, Value >@{Compound\-Filter$<$ Value, Value $>$}}
\subsubsection[{Add\-Filter}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Value $>$ template$<$typename T\-Filter $>$ void {\bf Compound\-Filter}$<$ Value, Value $>$\-::Add\-Filter (
\begin{DoxyParamCaption}
\item[{const T\-Filter \&}]{filter}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_compound_filter_3_01_value_00_01_value_01_4_a402e533d7835b706c05827806e789f1d}
Add a \hyperlink{class_filter}{Filter}.


\begin{DoxyParams}{Parameters}
{\em filter} & A reference to the filter to be added. \\
\hline
\end{DoxyParams}
\hypertarget{class_compound_filter_3_01_value_00_01_value_01_4_a5d7be9ce63109d38eeae3ff7ac947aed}{\index{Compound\-Filter$<$ Value, Value $>$@{Compound\-Filter$<$ Value, Value $>$}!Apply@{Apply}}
\index{Apply@{Apply}!CompoundFilter< Value, Value >@{Compound\-Filter$<$ Value, Value $>$}}
\subsubsection[{Apply}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Value $>$ virtual Value {\bf Compound\-Filter}$<$ Value, Value $>$\-::Apply (
\begin{DoxyParamCaption}
\item[{const Value \&}]{value}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{class_compound_filter_3_01_value_00_01_value_01_4_a5d7be9ce63109d38eeae3ff7ac947aed}
Apply the added filters to an input.


\begin{DoxyParams}{Parameters}
{\em input} & A reference to the input (which will not get modified). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The output of the filtered input. 
\end{DoxyReturn}


The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
C\-:/\-Users/\-Sam/\-Projects/\-F\-R\-C/\-Libraries/\-Fpk/\-Entech-\/\-Fpk-\/\-Subscribers/\-Entech-\/\-Fpk/\-Filters/Compound\-Filter.\-hpp\end{DoxyCompactItemize}
